import feedback from "~/utils/feedback";

export function useCopy() {
    const handleCopy = (text:string) =>{
        if (navigator.clipboard && window.isSecureContext) {
            const textToCopy = text
            navigator.clipboard
                .writeText(textToCopy)
                .then(() => {
                    feedback.msgSuccess('复制成功')
                })
                .catch((error) => {
                    console.error('复制文本时出错:', error)
                })
        } else {
            // 创建text area
            const textArea = document.createElement('textarea')
            textArea.value = text
            // 使text area不在viewport，同时设置不可见
            document.body.appendChild(textArea)
            textArea.focus()
            textArea.select()
            return new Promise((resolve, reject) => {
                // 执行复制命令并移除文本框
                document.execCommand('copy') ? resolve() : reject(new Error('出错了'))
                textArea.remove()
            }).then(() => {
                feedback.msgSuccess('复制成功')
            }, () => {
                feedback.msgError('复制失败')
            })
        }
    }
    return{
        handleCopy
    }
}